Skip to main content

Get Master Products

Method: GET
/products

As a Customer of iFoodDS, you can use the Get Master Products API to query master products from the iFoodDS Trace Exchange platform.

info

This endpoint is being refined and thus subject to change. These docs will update when changes are made.

Request

Type: application/json

Retrieving master products via the API is done through paging. The request requires a series of query parameters which define the page that must be returned. These parameters must be supplied in the url when the get is executed in order to return the result set for the page being queried.

Query Parameters

Optional

  • page (number): The page index of the events to return. The first page is index 0.
  • size (number): The number of results to return per page. Default value is 20.
  • submitStartDateTime (datetime): Filters results to include only events submitted after the specified date and time.
  • submitEndDateTime (datetime): Filters results to include only events submitted before the specified date and time.

Data Constraints

Please note the following data constraints:

  • datetimes must use the format: yyyy-MM-ddTHH:mm:ss

Response

Return result for the master products queried.

{
"content": [
{
"id": "<event id>",
"itemCode": "<vendor item code>",
"alternateItemCode": "<alternate item code>",
"itemDescription": "<vendor item description>",
"gtin": "<gtin>",
"itemUpc": "<item upc>",
"innerPackUpc": "<inner pack upc>",
"plu": "<plu>",
"isFtlItem": <is ftl item>,
"ftlCategory": "<ftl category>",
"isCoveredByGdst": <is covered by gdst>,
"brandName": "<brand name>",
"packStyle": "<pack style>",
"packSize": "<pack size>",
"productCommodity": "<product commodity>",
"productVariety": "<product variety>",
"scientificName": "<scientific name>",
"acceptableSpeciesName": "<acceptable species name>"
}
],
"pageable": {
"pageNumber": <page number>,
"pageSize": <page size>,
"sort": {
"unsorted": <is unsorted>,
"sorted": <is sorted>,
"empty": <is page empty>
},
"offset": <offset size>,
"unpaged": <is unpaged>,
"paged": <is paged>
},
"totalPages": <total pages>,
"totalElements": <total elements>,
"last": <is last page>,
"numberOfElements": <number of elements>,
"size": <page size>,
"number": <page number>,
"sort": {
"unsorted": <is unsorted>,
"sorted": <is sorted>,
"empty": <is empty>
},
"first": <is first page>,
"empty": <is page empty>
}

Content

  • id (uuid): The id of the master product
  • itemCode (string): The product's item code
  • alternateItemCode (string): The product's alternate item code
  • itemDescription (string): Product Description for the item
  • gtin (string): Case-level Global Trade Identification Number (GTIN-14). https://www.gs1.org/docs/idkeys/GS1_GTIN_Executive_Summary.pdf  
  • itemUpc (string): Item-level Universal Product Code, may be GTIN-8, GTIN-12, or GTIN-13. GS1 GTIN Executive Summary
  • innerPackUpc (string): Point of sale barcode, may be GTIN-8, GTIN-12, GTIN-13, or GTIN-14. GS1 GTIN Executive Summary
  • plu (string): Item-level Price Look-up Code. PLU Codes Search — IFPS
  • isFtlItem (boolean): Indicates whether product is on the Food Traceability List (FTL)
  • ftlCategory (string)*: Indicates the product's FTL category, i.e. “soft cheese”, “shell eggs”, “nut butter”, “cucumbers”, “herbs”, “leafy greens”, “melons”, “peppers”, “sprouts”, “tomatoes”, “tropical tree fruits”, “fresh-cut fruits”, “fresh-cut vegetables”, “finfish”, “smoked finfish”, “crustaceans”, “molluscan shellfish”, “ready-to-eat deli salads”, or “multiple-ftl-ingredients” *Required if on the FTL 
  • isCoveredByGdst (boolean): Indicate if the product is part of GDST
  • brandName (string): The brand of the product that appears on the consumer package
  • packStyle (string): Product's pack style, e.g. "Case", "Carton", "Tray", "Clamshell", etc.
  • packSize (string): Product's pack size as Packaging Configuration OR Count OR Weight + Unit of Measure, e.g. "20 x 12 oz bags"
  • productCommodity (string): For fresh produce, the description of the commodity, e.g. "Peppers"
  • productVariety (string): For fresh produce, the description of the variety, e.g. "Jalapeno"
  • scientificName (string): For seafood, the scientific name of the species, see: FDA Seafood List
  • acceptableSpeciesName (string): For seafood, a description of the common species name, see: FDA Seafood List

Pageable

  • pageable (object)
    • pageNumber (number): The current page number in the page series. Index 0 is first page
    • pageSize (number): The number of events contained in the page
    • offset (number): If there is an offset specified on there return results this will be populates. Default is 0
    • unpaged (boolean): If the record set is unpaged then true else false
    • paged (boolean): If the record set is paged then true else false
    • sort (object)
      • unsorted (boolean): If the record set is unsorted then true else false
      • sorted (boolean): If the record set is sorted then true else false
      • empty (boolean): If the record set is empty then true else false
  • totalPages (number): The total amount of pages that contain all events in the query
  • totalElements (number): The total amount of events in the query
  • last (boolean): If the page is the last in the series then true else false
  • numberOfElements (number): The total amount of events in the table
  • size (number): The number of events contained in the page
  • number (number): The current page number in the page series
  • sort (object)
    • unsorted (boolean): If the record set is unsorted then true else false
    • sorted (boolean): If the record set is sorted then true else false
    • empty (boolean): If the record set is empty then true else false
  • first (boolean): If the page is the first in the series then true else false
  • empty (boolean): If the page is empty then true else false